package great.project.common.utils;



import great.project.common.IsEmptyUtils;

import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class StringUtils {

    /**
     *  将字符串集合改成  1,2,3,4,5 拼接的字符串
     * @param list 集合
     * @return 结果
     */
    public  static <T> String listStringJoin( List<T> list){
        StringBuilder sb = new StringBuilder();
        list.forEach(r-> sb.append(",").append(r));
        return sb.toString().replaceFirst(",", "");
    }

    /**
     *  处理手机号码显示
     * @param phone 手机号码
     * @return 处理结果
     */
    public static String coverPhoneNumber(String phone){
        if (IsEmptyUtils.isEmpty(phone)) {
            return phone;
        }
        return phone.replaceAll( "(\\d{3})\\d{4}(\\d{4})", "$1****$2");
    }

    /**
     *  覆盖名字
     * @param str 名字
     * @return 覆盖
     */
    public static String coverUserName(String str){
        if (str.length() > 3) {
            String substring = str.substring(2, 3);
            return str.replace(substring , "**");
        }
        return str.replace(String.valueOf(str.charAt(1)), "*");
    }

    /**
     *  是否是手机号
     * @param phone 手机
     * @return 结果
     */
    public static boolean isMobile(String phone) {
        String regex = "^1[0-9]{10}$";
        if (phone.length() != 11) {
            return false;
        } else {
            Pattern pattern = Pattern.compile(regex);
            Matcher matcher = pattern.matcher(phone);
            return matcher.matches();
        }
    }

}
